Skip to content

Release 0.16.0: File Shelf, plus features across seven tools - #32

Merged
havokentity merged 2 commits into
mainfrom
release/0.16.0
Aug 26, 2026
Merged

Release 0.16.0: File Shelf, plus features across seven tools#32
havokentity merged 2 commits into
mainfrom
release/0.16.0

Conversation

@havokentity

Copy link
Copy Markdown
Owner

Prepares the 0.16.0 release. Nothing is tagged and nothing is published — this branch only stages the version, the changelog and the Sparkle notes for review.

What changed

File Why
VERSION 0.15.00.16.0
CHANGELOG.md Closes ## [Unreleased] into ## [0.16.0] — 2026-08-26, keeping an empty ## [Unreleased] above it; adds the [0.16.0] link definition and repoints [Unreleased] at v0.16.0...HEAD
Packaging/ReleaseNotes/0.16.0.md New. The short, curated notes Sparkle shows in the update window

Entry text is otherwise untouched, with one deliberate exception below.

One correction

The File Shelf changelog entry was sitting inside the already-released ## [0.15.0] section — 5f2b0b6 added it there, but File Shelf merged after v0.15.0 was tagged. Verified against the tag: git show v0.15.0:CHANGELOG.md contains no File Shelf.

Left alone it would have claimed a tool that is not in the build users already have, and File Shelf would have been missing from the notes for the release that actually ships it. The entry now leads 0.16.0's ### Added, and the 0.15.0 section is byte-identical to the tag again.

Not touched

  • README.md — being handled separately.
  • Packaging/*Info.plist — the version strings are stamped from VERSION by Scripts/package_app.sh at build time (PlistBuddy -c "Set :CFBundleShortVersionString $VERSION"), so they are not hand-edited. 0.15.0's release commit did not edit them either.

A sweep for a hardcoded 0.15.0 outside the changelog and release notes found none, so VERSION remains the single source of truth.

Verification

  • swift build — Build complete
  • swift testExecuted 1182 tests, with 0 failures (0 unexpected) in 6.381 (6.446) seconds

Releasing this

Review and merge first. The release is not triggered by this PR — release.yml runs only on a v*.*.* tag push. After merging, the tag is what publishes to real users:

git checkout main && git pull
git tag v0.16.0
git push origin v0.16.0

That build, notarizes and publishes the update. Deliberately left for you to run.

Bumps VERSION to 0.16.0 and closes the changelog section for the release: File
Shelf as a new tool, support-file removal in Uninstall Apps, next-display moves
and an arrange undo in Window Manager, per-directory listing in Clean Drive,
acting on scan results in Disk Usage Analyzer, a global OCR shortcut in Grab
Text, sparklines and a top-process list in System Monitor, saved device profiles
in Audio Switcher, and the store-file and threading hardening that followed.

Moves the File Shelf entry out of the 0.15.0 section, where 5f2b0b6 filed it.
File Shelf was merged after v0.15.0 was tagged, so the entry claimed a tool that
is not in the build users already have, and it would have gone missing from the
release that actually carries it — the one place someone would look for it. The
0.15.0 section is now byte-identical to the tag again, and File Shelf leads
0.16.0's Added list where the other new tools sit in their own releases.

Sparkle notes for the release are the usual short curated file rather than the
changelog section, which is 60 lines here — well past the point where the update
window grows taller than the screen and puts the Update button out of reach.
Eight tools in one release is more to cover than 0.15.0 had, so the notes lead
with File Shelf and reduce the rest to one line apiece.

Nothing else in the tree carries the version: the Info.plist strings are stamped
from VERSION by package_app.sh at build time, and a sweep for a hardcoded 0.15.0
outside the changelog found none.
Uninstall Apps' leftover sweep, Window Manager's next-display move and undo,
and Clean Drive's per-directory developer junk all shipped today with no
changelog entry at all. Their pull requests were the three that touched no
shared registry file, which is exactly why they merged without conflicts and
exactly why nobody had to open CHANGELOG.md while landing them — the same
property that made them easy made them silent.

Caught by counting the features in the release against the entries in the
section, rather than by reading the section, which looked complete.
@havokentity
havokentity merged commit 1b1b78d into main Aug 26, 2026
1 check passed
@havokentity
havokentity deleted the release/0.16.0 branch August 26, 2026 18:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant